package com.enlorenz.common.geo.analyzer.distance.test;


import java.util.List;

import com.copote.adc.dao.position.PositionServer;
import com.copote.adc.entity.runingEntity.Position;
import com.enlorenz.common.geo.util.DateUtil;
import com.enlorenz.common.geo.util.GeographyUtil;

public class PosAnaKimLokc {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		args=new String[3];
		args[0]="7873";
		args[1]="20130801000000";
		args[2]="20130819080000";
		PositionServer ps=new PositionServer();
		List<Position> posList=null;//ps.getAllHisPosition(args[0],args[1],args[2]);
		System.out.println("查询日期:"+DateUtil.transStandardDate2EnViewDate(args[1])
			+"~"+DateUtil.transStandardDate2EnViewDate(args[2]));
		int allSize=posList.size();
		System.out.println("位置数量："+allSize);
		int lockPos=0;
		int sd=0;
		int imPos=0;
		int hisPos=0;
		int latePos=0;
		double dis=0;
		double lc=0;
		double allCut=0;
		Position pre=null;
		Position pre22=null;
		for(Position p:posList){
			if(null!=pre22 && p.getD_wzsj().equals(pre22.getD_wzsj())){
				continue;
			}
			
			if(p.getN_sxbz().equals("1")){
				lockPos++;
			}
			if(Double.valueOf(p.getC_sd())>0.00){
				sd++;
			}
			if(p.getPosType() == 1){
				imPos++;
			}else if(p.getPosType() == 2){
				hisPos++;
			}else if(p.getPosType() == 3){
				latePos++;
			}
			
			if(p.getN_sxbz().equals("1")){
				if(null == pre){
					pre=p;
				}else{
					double cut1=GeographyUtil.computerDistanceFromPoint(pre, p);
					double cut2=Double.valueOf(p.getN_lcjs())-Double.valueOf(pre.getN_lcjs());
					dis+=cut1;
					pre=p;
					
					if(cut1!=cut2){
						System.out.println("C:"+p.getD_wzsj()+":P:"+pre.getD_wzsj()+":Po:"+cut1+":"+"Lc:"+cut2);
					}
					allCut+=cut1-cut2;
				}
			}
			
			if(null == pre22){
				pre22=p;
			}else{
				if(Double.valueOf(p.getN_lcjs())>=Double.valueOf(pre22.getN_lcjs())){
					lc+=Double.valueOf(p.getN_lcjs())-Double.valueOf(pre22.getN_lcjs());
				}else{
					System.out.println(p.getN_lcjs()+":"+Double.valueOf(pre22.getN_lcjs()));
				}
				pre22=p;
			}
			
			
		}
		System.out.println("锁星位置数量："+lockPos+" 不锁星位置:"+(allSize-lockPos));
		System.out.println("速度为0的为止："+sd);
		System.out.println("实时位置数量："+imPos);
		System.out.println("历史位置数量："+hisPos);
		System.out.println("延迟位置数量："+latePos);
		System.out.println("锁星点距离："+(int)dis);
		System.out.println("里程计数距离："+(int)lc);
		System.out.println("里程点距差："+(int)allCut);
	}

}
